== C2/0D4B earing bug fix ==
;  available:   C2/0D4B - C2/0D50

   C2/0D4B AD 14 34     LDA $3414       attack modification flag
   C2/0D4E F0 35        BEQ $0D85       exit if don't allow modification
   C2/0D50 EA           NOP

== C2/197D control bug fix ==
;available: C2/197D - C2/197F
   C2/197D 20 58 05     JSR $0558       call old code of revert command

== C2/0557 always enable morph command==
;available space: C2/0557 - C2/0557
   C2/0557 60           RTS

== C2/A708 old code for the control command ==
;available: C2/0558 - C2/055F
   C2/0558 98           TYA
   C2/0559 4A           LSR
   C2/055A EB           XBA
   C2/055B A9 0E        LDA #$0E
   C2/055D 4C BF 62     JMP $62BF

== C2/06E7 delay timers for commands==
   C2/067E FF           morph delay
   C2/067F 00           revert delay

== C2/19CD pointers for commands==
   C2/19CD 2F 19        $192F address   new morph address
   C2/19CF 27 19        $1927 address   new revert address

== C2/1927 morph/revert command==
;available space: C2/1927 - C2/194B

:revert setup
   C2/1927 20 D1 A6       JSR $A6D1       check morph status
   C2/192A F0 19          BEQ $1945       fail if not morphed
   C2/192C 7B             TDC             set mp cost as null
   C2/192D 80 13          BRA $1942       setup attack data (A = morph mp cost)
:morph setup
   C2/192F 20 D1 A6       JSR $A6D1       check morph status
   C2/1932 D0 11          BNE $1945       fail if morphed
   C2/1934 C2 20          REP #20         16-bit A
   C2/1936 B9 08 3C       LDA $3C08,Y     current MP
   C2/1939 C9 63 00       CMP #$0063      value of 99 mp
   C2/193C E2 20          SEP #$20        8-bit A
   C2/193E 90 05          BCC $1945       fail if not enough mp
:setup attack data
   C2/1940 A9 63          LDA #$63        99 mp cost
   C2/1942 20 D7 A6       JSR $A6D7       setup attack data (A = morph mp cost)
:execute hit
   C2/1945 BB             TYX
   C2/1946 4C 67 31       JMP $3167       execute attack

== C2/5326 always enable morph command==
;available space: C2/5326 - C2/532B
   C2/5326 18             CLC
   C2/5327 60             RTS
 
==C2/A6D1 check morph status==
   C2/A6D1 B9 F9 3E       LDA $3EF9,Y     bitfield status
   C2/A6D4 89 08          BIT #$08        check morph status
   C2/A6D6 60             RTS             return

==C2/A6D7 setup morph/revert attack data==
:init
   C2/A6D7 48             PHA             backup morph mp cost
   C2/A6D8 20 8A 29       JSR $298A       init basic attack data
   C2/A6DB 68             PLA             restore morph mp cost
:setup damage data
   C2/A6DC 8D A6 11       STA $11A6       save morph mp cost as spell power (for mp damage)
   C2/A6DF 9C 14 34       STZ $3414       skip damage modification
   C2/A6E2 9C A5 11       STZ $11A5       save attack mp cost as null
:setup morph data
   C2/A6E5 A9 FF          LDA #$FF
   C2/A6E7 8D 30 3F       STA $3F30       morph related (low byte)
   C2/A6EA 8D 31 3F       STA $3F31       morph related (high byte)
   C2/A6ED A9 40          LDA #$40        64 value
   C2/A6EF 8D F6 1C       STA $1CF6       morph supply
:setup attack flags
   C2/A6F2 A9 08          LDA #$08        morph status
   C2/A6F4 8D AD 11       STA $11AD       save bitfield status
   C2/A6F7 C2 20          REP #20
   C2/A6F9 A9 00 61       LDA #$6100      no elemental, magic attack, ignore defense, no split damage
   C2/A6FC 8D A1 11       STA $11A1       save flags
   C2/A6FF A9 82 28       LDA #$2882      ignore reflect, concern mp, toggle status, can't dodge attack
   C2/A702 8D A3 11       STA $11A3
   C2/A705 E2 20          SEP #$20
   C2/A707 60             RTS
